GifAminaatiota
Petri Keckman

Joistakin ennakkotiedoista poiketen en t�ll� kertaa tehnytk��n "toimitus esittelyss�" -artikkelia itsest�ni, mutta jotakin yht� tyls��: opastan gif-animaatioiden tekoa Amigalla.

Tied�tteh�n ne silmi� rasittavat, vilkkuvat ja v�lkkyv�t mainokset www-sivuilla? Se hyv� puoli niiss� on, ett� saa liikkuvaa kuvaa www-sivuille ilman JavaScripti� ymm�rt�vi� selaimia.

Itse�ni miellytt�v�t animaatiot, jotka ovat v�lineens� n�k�isi�. Tarkoitan, ett� pid�n tietokoneanimaatioista silloin kun ne ovat tietokoneella tehdyn n�k�isi�. En pid� tietokoneanimaatioista, jos ne ovat sen n�k�isi�, ett� Walt Disney olisi tehnyt ne k�sin paremmin. Jos siis tehd��n tietokoneella animaatiota, niin tehd��n sit� ohjelmallisesti tuotetuista kuvista.

Tuotetut kuvat saa muutettua gif-formaattiin esim. GfxCon-ohjelmalla, joka l�ytyy Aminetist�:

http://ftp.sunet.se/pub/aminet/gfx/conv/gfxcon.lha (228 kt)

Vaiheittaiset gif-kuvat saa muutettua gif-animaatioksi WhirlGif-ohjelmalla:

http://ftp.sunet.se/pub/aminet/gfx/conv/WhirlGif.lha (61 kt)

Koska kyseisi� ohjelmia voi k�ytt�� my�s k�skyrivilt� parametreilla, voidaan varsinaiset kuvat tuottavat ohjelma (josta esimerkkin� Blitz-ohjelma gifanim.exe Ohjelmat-paketissa) pist�� tekem��n samalla my�s skriptin, jolla kuvat muutetaan animaatioksi. Jos esim. ohjelma tallentaa RAM:-hakemistoon kuvat:

kuva1.iff
kuva2.iff
kuva3.iff
kuva4.iff
kuva5.iff
kuva6.iff

niin samalla se tuottaa skriptin so. tulostaa tiedostoon RAM:make seuraavat k�skyt, joilla animaatio tuotetaan kuvien tuottamisen j�lkeen:

Stack 20000
GfxCon RAM:kuva1.iff Format GIF
GfxCon RAM:kuva2.iff Format GIF
GfxCon RAM:kuva3.iff Format GIF
GfxCon RAM:kuva4.iff Format GIF
GfxCon RAM:kuva5.iff Format GIF
GfxCon RAM:kuva6.iff Format GIF
WhirlGif -o anim.gif -loop RAM:kuva1.gif RAM:kuva2.gif RAM:kuva3.gif RAM:kuva4.gif RAM:kuva5.gif RAM:kuva6.gif

Esimerkkiohjelmalla voidaan tuottaa kahdet erilaiset kuvasarjat. Parametrilla, joka on joko 1 tai 2 valitaan kumpi tuotetaan. Jos parametria ei anneta, tuotetaan 1.

Oleellinen asia kuvat tuottavissa aliohjelmissa on muuttujan vaihearvo, joka kertoo monesko kuvan vaihe on menossa. Gif-animaatioissa on otettava huomioon se ett� ensimm�isen vaiheen on seurattava luontevasti viimeist� vaihetta.

Esimerkkiohjelmassa ensimm�isess� animaatiossa kuva tuotetaan kiert�m�ll� spiraalimaisesti keskipistett�. Vaihe kertoo alkukulman. Toisessa animaatiossa piirret��n kasvavia neli�it�, jotka joka kerta lasketaan kaikki, mutta se piirret��n vain jos neli�n j�rjestysluku on jaollinen vaiheella. Eli vaihe voidaan ottaa monella tapaa huomioon riippuen kuvan tuottotavasta.

Tein ohjelman Blitz Basicilla, koska sill� on helppo napata screenist� shape ja tallentaa se. Jos aiot tuottaa kuvia muilla ohjelmointikielill�, niin aina voit esim. grabscreen-toimintoa tai ohjelmaa k�ytt�m�ll� tallentaa tuottamiasi vaihekuvia. Skriptitkin voi kirjoittaa k�sin ja k�ytt�� uudestaan samoja. Esimerkki-gif-animaatiot ovat my�s Ohjelmat-paketissa.